//
//  dengue.cpp
//  complexidade
//  https://br.spoj.pl/problems/DENGUE/
//  Created by Bruno Dias on 22/06/11.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
//

#include <stdio.h>
#include <iostream>
#include <queue>
using namespace std;

#define NMAX 101
int adj[NMAX][NMAX];

void limpa_adj(int adj[NMAX][NMAX], int x) {
    for (int i = 0; i <= x; i++) {
        for (int j = 0; j <= x; j++) {
            adj[i][j]=0;
        }
    }
}

int main() {
    int n, x, y, prox;
    int  test = 1; 
    int distancia[NMAX], menor[NMAX];
    queue<int> fila;
    while (cin >> n && n != 0) {
        limpa_adj(adj, n);
        //Preenchendo a matriz de adjacencia
        for (int i = 0; i <  (n - 1); i++) { 
            cin >> x >> y;
            adj[x][y]=1;
            adj[y][x]=1;
        }
        int escolhido = 0;
        menor[0] = n;
        for (int i = 1; i <= n; i++) {
            for (int j = 0; j < n; j++) {
                distancia[j+1] = n;
            }
            menor[i]=0;
            distancia[i]=0;
            fila.push(i);
            // Utilizando a técnica de BFS
            while (fila.empty() == NULL) {
                prox = fila.front();
                if (menor[i] != distancia[prox]) {
                    menor[i] = distancia[prox];
                }
                for (int k = 1; k <= n; k++) {
                    if (adj[prox][k] && distancia[k]==n) {
                        distancia[k] = distancia[prox] + 1;
                        fila.push(k);
                    }
                }
                fila.pop();
            }
            if (menor[escolhido] > menor[i]) {
                escolhido = i;
            }
        }
        cout << "Teste " << test << "\n";
        cout << escolhido << "\n\n";
        test++;
    }
}